home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 029a / fdate44.zip / FDATEX.BAT < prev    next >
DOS Batch File  |  1992-01-21  |  25KB  |  668 lines

  1. @ECHO off
  2. BREAK ON
  3. for %%v in (in get func strings timer absdates ly errmsg) do if (%%v)==(%1) goto %1
  4. FOR %%V IN (IN GET FUNC STRINGS TIMER ABSDATES LY ERRMSG) DO IF (%%V)==(%1) GOTO %1
  5. CLS
  6. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  7. echo ║         FDATEX: Demonstration batch file for FDATE                          ║
  8. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  9. echo.
  10. echo.
  11. echo This batch file uses ANSI.SYS to control the appearance and color
  12. echo of some of the headings.
  13.  
  14. echo.
  15. echo If you do not have ANSI.SYS installed, you may see garbage on the
  16. echo screen next to some of the headings, such as the one at the top of
  17. echo this screen, but the batch file will work correctly otherwise.
  18.  
  19. echo.
  20. echo.
  21. echo.
  22. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  23. echo ║        The first thing we will do is to test the HELP screen.               ║
  24. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  25. PAUSE
  26.  
  27. cls
  28. FDATE
  29. PAUSE
  30. ECHO ON
  31.  
  32. @echo off
  33. CLS
  34. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  35. echo ║                TEST   OUTPUT FORMATS (#1)                                   ║
  36. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  37. @echo on
  38. FDATE /Ff /Atoday /Occyy
  39. FDATE /Ff /At /Occyymm
  40. FDATE /Ff /At /Occyymmdd
  41. FDATE /Ff /At /Oyymmdd
  42. FDATE /Ff /At /Ommdd
  43. @echo off
  44. @PAUSE
  45.  
  46. @echo off
  47. CLS
  48. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  49. echo ║                TEST   OUTPUT FORMATS (#1b)                                  ║
  50. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  51. @echo on
  52. FDATE /Ff /At /Odd
  53. FDATE /Ff /At /Ozd
  54. FDATE /Ff /At /Odd-mn3-yy
  55. FDATE /Ff /At /Odd-mn3-yy /Lfr
  56. @echo off
  57. @PAUSE
  58.  
  59. CLS
  60. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  61. echo ║                TEST   OUTPUT FORMATS (#2)                                   ║
  62. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  63. @echo on
  64. FDATE /Ff /Omm-dd-ccyy
  65. FDATE /Ff /Ozm-zd-ccyy
  66. FDATE /Ff /Omm/dd/ccyy
  67. FDATE /Ff /Ozm/zd/ccyy
  68. @echo off
  69. PAUSE
  70.  
  71. CLS
  72. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  73. echo ║                TEST   OUTPUT FORMATS (BRITISH)                              ║
  74. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  75. @echo on
  76. FDATE /Ff /Odd.mm.ccyy
  77. FDATE /Ff /Ozd.zm.ccyy
  78. FDATE /Ff /Odd.mm.yy
  79. FDATE /Ff /Ozd.zm.yy
  80. @echo off
  81. PAUSE
  82.  
  83. CLS
  84. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  85. echo ║                TEST   OUTPUT FORMATS (#3)                                   ║
  86. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  87. @echo on
  88. FDATE /Ff /At /Odow#
  89. FDATE /Ff /At /Odow
  90. FDATE /Ff /At /Odow3
  91. FDATE /Ff /At /Odow  /Lfr
  92. FDATE /Ff /At /Odow3 /Lfr
  93. @echo off
  94. PAUSE
  95.  
  96. CLS
  97. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  98. echo ║                TEST   OUTPUT FORMATS (#4)                                   ║
  99. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  100. @echo on
  101. FDATE /Ff /At /O"mn zd, ccyy"
  102. FDATE /Ff /At /O"mn3 dd ccyy"
  103. FDATE /Ff /At /O"mn3 dd, ccyy"
  104. FDATE /Ff /At /O"mn zd, ccyy"  /Lfr
  105. FDATE /Ff /At /O"mn3 dd ccyy"  /Lfr
  106. FDATE /Ff /At /O"mn3 dd, ccyy" /Lfr
  107. @echo off
  108. PAUSE
  109.  
  110. CLS
  111. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  112. echo ║                TEST   OUTPUT FORMATS (#5)                                   ║
  113. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  114. @echo on
  115. FDATE /Ff /At /O"zd mn ccyy"
  116. FDATE /Ff /At /O"zd mn, ccyy"
  117. FDATE /Ff /At /O"zd mn ccyy"  /Lfr
  118. FDATE /Ff /At /O"zd mn, ccyy" /Lfr
  119. @echo off
  120. PAUSE
  121.  
  122. CLS
  123. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  124. echo ║                TEST   OUTPUT FORMATS (TIME)                                 ║
  125. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  126. @echo on
  127. FDATE /Ff /At /Ot1
  128. FDATE /Ff /At /Ohh:mm
  129. FDATE /Ff /At /Ohh:mm:ss
  130. @echo off
  131. PAUSE
  132.  
  133. CLS
  134. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  135. echo ║                TEST   OUTPUT FORMATS (DATE ABBREVIATIONS)                   ║
  136. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  137. @echo on
  138. FDATE /Ff /At /Od1
  139. FDATE /Ff /At /Ofull
  140. FDATE /Ff /At /Od1   /Lfr
  141. FDATE /Ff /At /Ofull /Lfr
  142. FDATE /Ff /At /Oly /P"Leap-year flag is: " /S" [0=normal, 1=leapyear]"
  143. @echo off
  144. PAUSE
  145.  
  146. CLS
  147. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  148. echo ║                TEST   OUTPUT FORMATS ("JULIAN" OUTPUTS)                     ║
  149. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  150. @echo on
  151. FDATE /Ff /At /Oday#     /P"Absolute date : "
  152. FDATE /Ff /At /Ominute#  /P"Julian minutes: "
  153. FDATE /Ff /At /Osecond#  /P"Julian seconds: "
  154. FDATE /Ff /At /Ojulian   /P"Julian date is: "
  155. @echo off
  156. PAUSE
  157.  
  158. :IN
  159. CLS
  160. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  161. echo ║                TEST   INPUT  FORMATS                                        ║
  162. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  163. echo.
  164. @echo TEST PSEUDO-DATES   /AT  (/ATODAY)
  165. @echo ─────────────────────────────────────────────────────────────────
  166. @echo on
  167. FDATE /Ff /Atoday /Od1
  168. FDATE /Ff /At     /Od1
  169. @Pause
  170. cls
  171. @ECHO TEST PSEUDO-DATES     /ICCYYMMDD
  172. @echo ─────────────────────────────────────────────────────────────────
  173. FDATE /Ff /Atttt1126  /Iccyymmdd   /Od1
  174. FDATE /Ff /A1991tt26  /Iccyymmdd   /Od1
  175. FDATE /Ff /A199211tt  /Iccyymmdd   /Od1
  176. FDATE /Ff /Atttttttt  /Iccyymmdd   /Od1
  177. @Pause
  178. cls
  179. @ECHO TEST PSEUDO-DATES     /IMM-DD-CCYY
  180. @echo ─────────────────────────────────────────────────────────────────
  181. FDATE /Ff /A11-26-tttt /Imm-dd-ccyy /Od1
  182. FDATE /Ff /A11-tt-1992 /Imm-dd-ccyy /Od1
  183. FDATE /Ff /Att-26-1992 /Imm-dd-ccyy /Od1
  184. FDATE /Ff /Att-tt-tttt /Imm-dd-ccyy /Od1
  185. @Pause
  186. cls
  187. @ECHO TEST PSEUDO-DATES     /IMM-DD-YY
  188. @echo ─────────────────────────────────────────────────────────────────
  189. FDATE /Ff /A11-26-tt /Imm-dd-yy /Od1
  190. FDATE /Ff /A11-tt-92 /Imm-dd-yy /Od1
  191. FDATE /Ff /Att-26-92 /Imm-dd-yy /Od1
  192. FDATE /Ff /Att-tt-tt /Imm-dd-yy /Od1
  193. @PAUSE
  194.  
  195. CLS
  196. @echo TEST INPUT FORMATS
  197. @echo ─────────────────────────────────────────────────────────────────
  198. FDATE /Ff /Imm-dd-ccyy /A12-07-1991 /Od1
  199. FDATE /Ff /Imm-dd-yy   /A12-07-91   /Od1
  200. FDATE /Ff /Iccyymmdd   /A19911207   /Od1
  201. @PAUSE
  202.  
  203. CLS
  204. @echo TEST INPUT FORMATS (only YY specified, CC assumed.)
  205. @echo ─────────────────────────────────────────────────────────────────
  206. FDATE /Ff /Imm-dd-yy   /A12-07-00   /Od1
  207. FDATE /Ff /Imm-dd-yy   /A12-07-10   /Od1
  208. FDATE /Ff /Imm-dd-yy   /A12-07-19   /Od1
  209. FDATE /Ff /Imm-dd-yy   /A12-07-20   /Od1
  210. FDATE /Ff /Imm-dd-yy   /A12-07-21   /Od1
  211. FDATE /Ff /Imm-dd-yy   /A12-07-91   /Od1
  212. @PAUSE
  213.  
  214. CLS
  215. @echo off
  216. @echo TEST INPUT FORMATS HANDLING LEADING ZEROS
  217. @echo ─────────────────────────────────────────────────────────────────
  218. FDATE /Ff /Imm-dd-yy /A06-06-66     /Od1
  219. FDATE /Ff /Imm-dd-yy /A6-06-66      /Od1
  220. FDATE /Ff /Imm-dd-yy /A06-6-66      /Od1
  221. FDATE /Ff /Imm-dd-yy /A6-6-66       /Od1
  222. FDATE /Ff /Imm-dd-ccyy /A06-06-0001 /Od1
  223. FDATE /Ff /Imm-dd-ccyy /A6-06-0001  /Od1
  224. FDATE /Ff /Imm-dd-ccyy /A06-6-0001  /Od1
  225. FDATE /Ff /Imm-dd-ccyy /A6-6-0001   /Od1
  226. @PAUSE
  227.  
  228. @echo on
  229.  
  230. CLS
  231. @echo TEST /P (PREFIX) PARAMETER
  232. @echo ─────────────────────────────────────────────────────────────────
  233. FDATE /Ff /At /O"mn zd, ccyy" /P"Today is "
  234. FDATE /Ff /At /O"mn zd, ccyy" /P"Aujourdui est " /Lfr
  235. @echo.
  236. set  FDATE=
  237. FDATE /Ff /At /O"mn zd, ccyy" /P"@SET FDATE=" >FDATJUNK.BAT
  238. call FDATJUNK.BAT
  239. @Echo off
  240. del FDATJUNK.BAT
  241. ECHO Value of FDATE environment variable is: %FDATE%
  242. set  FDATE=
  243. PAUSE
  244.  
  245. CLS
  246. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  247. echo ║                TEST   END-OF-MONTH DATES (BUG FIXED IN FDATE 3.0)           ║
  248. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  249. @echo off
  250. fdate /ff /imm-dd-ccyy /oD1     /a01-29-1992
  251. fdate /ff /imm-dd-ccyy /oD1     /a01-30-1992
  252. fdate /ff /imm-dd-ccyy /oD1     /a01-31-1992
  253. fdate /ff /imm-dd-ccyy /oD1     /a02-29-1992
  254. fdate /ff /imm-dd-ccyy /oD1     /a02-30-1992
  255. fdate /ff /imm-dd-ccyy /oD1     /a02-31-1992
  256. @echo off
  257. PAUSE
  258.  
  259. :func
  260. CLS
  261. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  262. echo ║                TEST   FUNCTIONS                                             ║
  263. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  264. @echo on
  265. @echo.
  266. @echo TEST FUNCTION: F (FORMAT)
  267. @echo ─────────────────────────────────────────────────────────────────
  268. FDATE /Fformat /Atoday  /Od1
  269. FDATE /Ff      /At      /Od1
  270. FDATE /Ff
  271. @PAUSE
  272. @echo off
  273. CLS
  274. @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D NOT = DOW#
  275. @echo ─────────────────────────────────────────────────────────────────
  276. FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N-2 /Od1 /P"2nd Thursday before 11-25-1992: "
  277. FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"1st Thursday before 11-25-1992: "
  278. FDATE /Ff /A11-25-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"The actual day of.. 11-25-1992: "
  279. FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N1  /Od1 /P"1st Thursday after  11-25-1992: "
  280. FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N2  /Od1 /P"2nd Thursday after  11-25-1992: "
  281. @PAUSE
  282. @CLS
  283. @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D = DOW#
  284. @echo ─────────────────────────────────────────────────────────────────
  285. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N-2 /Od1 /P"2nd Thursday before 11-26-1992: "
  286. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"1st Thursday before 11-26-1992: "
  287. FDATE /Ff /A11-26-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"The actual day of.. 11-26-1992: "
  288. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N1  /Od1 /P"1st Thursday after  11-26-1992: "
  289. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N2  /Od1 /P"2nd Thursday after  11-26-1992: "
  290. @PAUSE
  291. @echo off
  292. @CLS
  293. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  294. echo ║                TEST   /FW-RELATED ERROR MESSAGES                            ║
  295. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  296. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N0    /Od1 /P" 0th Thursday after 11-26-1992: "
  297. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N100  /Od1 /P"99th Thursday after 11-26-1992: "
  298. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N-100 /Od1 /P"99th Thursday before 11-26-1992: "
  299. @PAUSE
  300.  
  301. CLS
  302. @echo TEST COMP (DATE COMPARE) FUNCTION and /Imm-dd-ccyy default
  303. @echo ─────────────────────────────────────────────────────────────────
  304. @echo ON
  305. Fdate /Fcomp /A06-06-1992 /B06-06-1991
  306. Fdate /Fcomp /A06-06-1992 /B06-06-1992
  307. Fdate /Fcomp /A06-06-1992 /B06-06-1993
  308. Fdate /Fcomp
  309. @PAUSE
  310.  
  311. CLS
  312. @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
  313. @echo ─────────────────────────────────────────────────────────────────
  314. FDATE /Fdif /At /Bt
  315. FDATE /Fdif
  316. FDATE /Fdif /At /B01-01-1990 /Imm-dd-ccyy
  317. FDATE /Fdif /A01-01-1990 /Bt /Imm-dd-ccyy
  318. FDATE /Fdif /A12-31-0008 /B01-01-0009 /Imm-dd-ccyy
  319. FDATE /Fdif /Iccyymmdd /A19801230 /B19801231
  320. FDATE /Fdif /Iccyymmdd /A19801230 /B19801220
  321. @PAUSE
  322.  
  323. CLS
  324. @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
  325. @echo ─────────────────────────────────────────────────────────────────
  326. FDATE /Fdif /Iccyymmdd /A19800101 /B19801231
  327. FDATE /Fdif /Iccyymmdd /A19810101 /B19811231
  328. FDATE /Fdif /Iccyymmdd /A20000101 /B20001231
  329. FDATE /Fdif /Iccyymmdd /A19000101 /B19001231
  330. FDATE /Fdif /Iccyymmdd /A16000101 /B16001231
  331. @PAUSE
  332.  
  333. @echo off
  334. CLS
  335. echo TEST ADD (ADD A NUMBER TO A DATE, GET RESULTING DATE) FUNCTION
  336. echo ───────────────────────────────────────────────────────────────────────────────
  337. echo on
  338. FDATE /Fadd /N1 /A12-31-0008 /Imm-dd-ccyy /Omm-dd-ccyy
  339. FDATE /Fadd /N1 /At  /Od1 /P"Tomorrow will be "
  340. FDATE /Fadd /N90 /At /Od1 /P"90 days from today is "
  341. @PAUSE
  342.  
  343. CLS
  344. @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
  345. @echo ─────────────────────────────────────────────────────────────────
  346. FDATE /Fadd /N1 /A12-31-0003 /Imm-dd-ccyy /Omm-dd-ccyy
  347. FDATE /Fadd /N1 /A12-31-0099 /Imm-dd-ccyy /Omm-dd-ccyy
  348. FDATE /Fadd /N1 /A12-31-0399 /Imm-dd-ccyy /Omm-dd-ccyy
  349. FDATE /Fadd /N1 /A12-31-1899 /Imm-dd-ccyy /Omm-dd-ccyy
  350. FDATE /Fadd /N1 /A12-31-1999 /Imm-dd-ccyy /Omm-dd-ccyy
  351. @PAUSE
  352.  
  353. CLS
  354. @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR END
  355. @echo ─────────────────────────────────────────────────────────────────
  356. FDATE /Fadd /N1 /A12-31-0004 /Imm-dd-ccyy /Omm-dd-ccyy
  357. FDATE /Fadd /N1 /A12-31-0100 /Imm-dd-ccyy /Omm-dd-ccyy
  358. FDATE /Fadd /N1 /A12-31-0400 /Imm-dd-ccyy /Omm-dd-ccyy
  359. FDATE /Fadd /N1 /A12-31-1900 /Imm-dd-ccyy /Omm-dd-ccyy
  360. FDATE /Fadd /N1 /A12-31-2000 /Imm-dd-ccyy /Omm-dd-ccyy
  361. @PAUSE
  362.  
  363. CLS
  364. @echo TEST SUB
  365. @echo ─────────────────────────────────────────────────────────────────
  366. FDATE /Fsub /N1 /A12-31-0008 /Imm-dd-ccyy /Omm-dd-ccyy
  367. FDATE /Fsub /N1 /At  /Od1 /P"Yesterday was "
  368. FDATE /Fsub /N90 /At /Od1 /P"90 days ago, the date was "
  369. @PAUSE
  370.  
  371. CLS
  372. @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY BEFORE LEAP YEAR BEGIN
  373. @echo ─────────────────────────────────────────────────────────────────
  374. FDATE /Fsub /N1 /A12-31-0004 /Imm-dd-ccyy /Omm-dd-ccyy
  375. FDATE /Fsub /N1 /A12-31-0100 /Imm-dd-ccyy /Omm-dd-ccyy
  376. FDATE /Fsub /N1 /A12-31-0400 /Imm-dd-ccyy /Omm-dd-ccyy
  377. FDATE /Fsub /N1 /A12-31-1900 /Imm-dd-ccyy /Omm-dd-ccyy
  378. FDATE /Fsub /N1 /A12-31-2000 /Imm-dd-ccyy /Omm-dd-ccyy
  379. @PAUSE
  380.  
  381. CLS
  382. @echo TEST SUB ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
  383. @echo ─────────────────────────────────────────────────────────────────
  384. FDATE /Fsub /N1 /A01-01-0004 /Imm-dd-ccyy /Omm-dd-ccyy
  385. FDATE /Fsub /N1 /A01-01-0100 /Imm-dd-ccyy /Omm-dd-ccyy
  386. FDATE /Fsub /N1 /A01-01-0400 /Imm-dd-ccyy /Omm-dd-ccyy
  387. FDATE /Fsub /N1 /A01-01-1900 /Imm-dd-ccyy /Omm-dd-ccyy
  388. FDATE /Fsub /N1 /A01-01-2000 /Imm-dd-ccyy /Omm-dd-ccyy
  389. @PAUSE
  390.  
  391. CLS
  392. @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY AFTER LEAP YEAR END
  393. @echo ─────────────────────────────────────────────────────────────────
  394. FDATE /Fsub /N1 /A01-01-0005 /Imm-dd-ccyy /Omm-dd-ccyy
  395. FDATE /Fsub /N1 /A01-01-0101 /Imm-dd-ccyy /Omm-dd-ccyy
  396. FDATE /Fsub /N1 /A01-01-0401 /Imm-dd-ccyy /Omm-dd-ccyy
  397. FDATE /Fsub /N1 /A01-01-1901 /Imm-dd-ccyy /Omm-dd-ccyy
  398. FDATE /Fsub /N1 /A01-01-2001 /Imm-dd-ccyy /Omm-dd-ccyy
  399. @PAUSE
  400.  
  401. :errmsg
  402. CLS
  403. @echo TEST ERROR MESSAGES
  404. @echo ─────────────────────────────────────────────────────────────────
  405. @echo on
  406. FDATE /Ff /At /Ojunktest
  407. FDATE /Ff /A18880101 /Ijunktest /Ominute#
  408. @PAUSE
  409.  
  410. CLS
  411. FDATE /Ff   /Iccyymmdd  /A18880101 /Ominute#
  412. FDATE /Ff   /Iccyymmdd  /A21010101 /Osecond#
  413. FDATE /Fsub /Iccyymmdd  /A00010101 /n1 /od1
  414. FDATE /Fadd /Iccyymmdd  /A99991231 /n1 /od1
  415. @PAUSE
  416.  
  417. CLS
  418. FDATE /Ff   /Imm-dd-ccyy /A01-01-xxxx    /Od1
  419. FDATE /Fadd /Imm-dd-ccyy /A01-01-1992 /N /Od1
  420. @PAUSE
  421.  
  422. CLS
  423. FDATE /Fdif /Imm-dd-ccyy /?01-01-1992 /B01-02-1992
  424. FDATE /Fdif /Imm-dd-ccyy /A01-01-1992 /?01-02-1992
  425. @PAUSE
  426.  
  427. CLS
  428. FDATE /Ff   /Imm-dd-yy   /A01-01-1       /Od1
  429. FDATE /Ff   /Imm-dd-yy   /A01-01-199     /Od1
  430. FDATE /Ff   /Imm-dd-ccyy /A01-01-199     /Od1
  431. FDATE /Ff   /Imm-dd-ccyy /A01-01-19922   /Od1
  432. @PAUSE
  433.  
  434. :LY
  435. CLS
  436. @echo on
  437. @echo TEST LEAPYR (#1)
  438. @echo ─────────────────────────────────────────────────────────────────
  439. FDATE /Ff /A01-01-0001 /Imm-dd-ccyy /Oly
  440. FDATE /Ff /A01-01-0004 /Imm-dd-ccyy /Oly
  441. FDATE /Ff /A01-01-0005 /Imm-dd-ccyy /Oly
  442. FDATE /Ff /A01-01-0100 /Imm-dd-ccyy /Oly
  443. FDATE /Ff /A01-01-0400 /Imm-dd-ccyy /Oly
  444. FDATE /Ff /A01-01-1600 /Imm-dd-ccyy /Oly
  445. @PAUSE
  446.  
  447. CLS
  448. @echo TEST LEAPYR (#2)
  449. @echo ─────────────────────────────────────────────────────────────────
  450. FDATE /Ff /A01-01-1900 /Imm-dd-ccyy /Oly
  451. FDATE /Ff /A01-01-1984 /Imm-dd-ccyy /Oly
  452. FDATE /Ff /A01-01-1991 /Imm-dd-ccyy /Oly
  453. FDATE /Ff /A01-01-1992 /Imm-dd-ccyy /Oly
  454. FDATE /Ff /A01-01-2000 /Imm-dd-ccyy /Oly
  455. @PAUSE
  456.  
  457. CLS
  458. @echo TEST "JULIAN" OUTPUT FORMATS
  459. @echo ─────────────────────────────────────────────────────────────────
  460. FDATE /Ff /At /Ojulian
  461. FDATE /Ff /At /Oday#
  462. FDATE /Ff /At /Ominute#
  463. FDATE /Ff /At /Osecond#
  464. FDATE /Ff /A19950101 /Iccyymmdd /Ominute#
  465. FDATE /Ff /A19950101 /Iccyymmdd /Osecond#
  466. @PAUSE
  467.  
  468. @ECHO off
  469. :ABSDATES
  470. CLS
  471. echo SHOW ABSOLUTE OR "TRUE JULIAN" DATES FOR SELECTED DATES
  472. echo ─────────────────────────────────────────────────────────────────
  473. ECHO.
  474. FDATE /Ff /A01-01-0001 /imm-dd-ccyy /Od1 /P"First day of year 0001: "
  475. FDATE /Ff /A01-01-0001 /imm-dd-ccyy /Oday#
  476. ECHO.
  477. FDATE /Ff /A01-01-1900 /imm-dd-ccyy /Od1 /P"First day of year 1900: "
  478. FDATE /Ff /A01-01-1900 /imm-dd-ccyy /Oday#
  479. ECHO.
  480. FDATE /Ff /A01-01-1992 /imm-dd-ccyy /Od1 /P"First day of year 1992: "
  481. FDATE /Ff /A01-01-1992 /imm-dd-ccyy /Oday#
  482. ECHO.
  483. FDATE /Ff /At /Od1   /P"Today's calendar date : "
  484. FDATE /Ff /At /Oday# /P"Today's absolute date : "
  485. ECHO.
  486. FDATE /Ff /A12-31-2000 /imm-dd-ccyy /Od1 /P"Last day of year 2000: "
  487. FDATE /Ff /A12-31-2000 /imm-dd-ccyy /Oday#
  488. ECHO.
  489. FDATE /Ff /A12-31-9999 /imm-dd-ccyy /Od1 /P"Last day of year 9999: "
  490. FDATE /Ff /A12-31-9999 /imm-dd-ccyy /Oday#
  491. PAUSE
  492.  
  493. :GET
  494. CLS
  495. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  496. echo ║       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: GET                 ║
  497. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  498. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  499. echo ║   If you do not have GET installed,                                         ║
  500. echo ║   you will see messages saying "Bad command of file name".                  ║
  501. echo ║   This is normal and nothing to worry about.                                ║
  502. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  503. @echo.
  504.  
  505. @echo on
  506. @set date1=
  507. @echo.
  508. FDATE /Ff /At /Oyymmdd|GET ZE /Vdate1 >NUL
  509. @echo DATE1 environment variable is %DATE1%
  510. @set date1=
  511. @echo.
  512. FDATE /Ff /At /Occyymmdd|GET ZE /Vdate1 >NUL
  513. @echo DATE1 environment variable is %DATE1%
  514. @set date1=
  515. @echo off
  516. @PAUSE
  517.  
  518. :STRINGS
  519. CLS
  520. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  521. echo ║       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: STRINGS             ║
  522. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  523. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  524. echo ║   If you do not have STRINGS installed,                                     ║
  525. echo ║   you will see messages saying "Bad command of file name".                  ║
  526. echo ║   This is normal and nothing to worry about.                                ║
  527. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  528. @echo.
  529.  
  530. @echo on
  531. @set date1=
  532. @echo.
  533. FDATE /Ff /At /Oyymmdd | STRINGS date1= ASK >NUL
  534. @echo DATE1 environment variable is %DATE1%
  535. @set date1=
  536. @echo.
  537. FDATE /Ff /At /Occyymmdd | STRINGS date1= ASK >NUL
  538. @echo DATE1 environment variable is %DATE1%
  539. @set date1=
  540. @echo.
  541. @echo off
  542. @PAUSE
  543.  
  544. @echo off
  545. CLS
  546. echo.
  547. echo The final demonstration uses the DOS "CALL" statement,
  548. echo so it requires DOS 3.3 or greater.
  549. echo.
  550. echo If you do not have DOS 3.3+,
  551. echo press Control-Break or Control-C now to stop execution of the batch file.
  552. echo.
  553. echo Otherwise,
  554. pause
  555.  
  556. :TIMER
  557. @echo off
  558. cls
  559. ECHO The demo will run for 1 - 60 seconds.
  560. echo.
  561. ECHO ────────────────────────────────────────────────────────────────────────
  562. ECHO CALCULATE HOW LONG IT TOOK TO RUN A PROGRAM (in seconds and minutes)
  563. echo.
  564. echo If you leave long batch files to run overnight, this techique can
  565. echo be used to record how long each program in the batch file ran.
  566. echo.
  567. echo The technique for setting the values of environment variables in this
  568. echo part of the demo uses temporary batch files and CALL statements.
  569. echo If you have a program such as GET or STRINGS, you can use it instead.
  570. ECHO ────────────────────────────────────────────────────────────────────────
  571. echo.
  572. PAUSE
  573. cls
  574.  
  575. FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution begins at "
  576.  
  577. REM  GET PROGRAM BEGIN TIME, IN MINUTES
  578. @set BegM=
  579. @set EndM=
  580. @set RunM=
  581. FDATE /Ff /At /Ominute# /P"SET BegM=" >FDATJUNK.BAT
  582. CALL FDATJUNK.BAT
  583.  
  584. REM  GET PROGRAM BEGIN TIME, IN SECONDS
  585. set BegS=
  586. set EndS=
  587. set RunS=
  588. FDATE /Ff /At /Osecond# /P"SET BegS=" >FDATJUNK.BAT
  589. CALL FDATJUNK.BAT
  590.  
  591. rem ───────────────────────────────────────────────────────────────
  592. rem [simulate execution of a program: loop for a minute or less]
  593. rem [In a real batch file, you would put your program statements here]
  594. rem ───────────────────────────────────────────────────────────────
  595. :BegLoop
  596.    FDATE /Ff /At /Osecond# /P"SET EndS=" >FDATJUNK.BAT
  597.    CALL FDATJUNK.BAT
  598.    FDATE /Ff /At /Ominute# /P"SET EndM=" >FDATJUNK.BAT
  599.    CALL FDATJUNK.BAT
  600.  
  601.    rem  calculate run time (difference between start time and end time)
  602.    FDATE /F#dif /A%EndM% /B%BegM% /P"SET RunM=" > FDATJUNK.BAT
  603.    CALL FDATJUNK.BAT
  604.  
  605.    rem  calculate run time (difference between start time and end time)
  606.    FDATE /F#dif /A%EndS% /B%BegS% /P"SET RunS=" > FDATJUNK.BAT
  607.    CALL FDATJUNK.BAT
  608.    echo      TESTPGM running, elapsed time: %RunS% seconds
  609.  
  610.    if (%RunM%)==()  goto EndLoop
  611.    if (%RunM%)==(0) goto BegLoop
  612. :EndLoop
  613. rem ───────────────────────────────────────────────────────────────
  614.  
  615. REM  GET PROGRAM END TIME IN SECONDS
  616. FDATE /Ff /At /Osecond# /P"SET EndS=" > FDATJUNK.BAT
  617. CALL FDATJUNK.BAT
  618.  
  619. REM  GET PROGRAM END TIME IN MINUTES
  620. FDATE /Ff /At /Ominute# /P"SET EndM=" > FDATJUNK.BAT
  621. CALL FDATJUNK.BAT
  622.  
  623. FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution ends at "
  624. echo.
  625.  
  626. echo TESTPGM: Program end   time (Julian seconds): %EndS%
  627. echo TESTPGM: Program begin time (Julian seconds): %BegS%
  628. rem  calculate run time (difference between start time and end time)
  629. FDATE /F#dif /A%EndS% /B%BegS% /P"TESTPGM: Run time in seconds= "
  630. set BegS=
  631. set EndS=
  632.  
  633. echo.
  634. echo TESTPGM: Program end   time (Julian minutes): %EndM%
  635. echo TESTPGM: Program begin time (Julian minutes): %BegM%
  636. rem  calculate run time (difference between start time and end time)
  637. FDATE /F#dif /A%EndM% /B%BegM% /P"TESTPGM: Run time in minutes= "
  638. DEL  FDATJUNK.BAT
  639. set BegM=
  640. set EndM=
  641. set RunM=
  642. set RunS=
  643. echo.
  644. PAUSE
  645.  
  646. @echo off
  647. cls
  648. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  649. echo ║                     END OF FDATE TEST BATCH FILE                            ║
  650. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  651. echo.
  652. echo I hope that you have found this demo batch file helpful,
  653. echo and that you will find FDATE useful.
  654. echo.
  655. echo                         -- Stephen Ferg
  656. echo.
  657. echo.
  658. echo.
  659.  
  660.  
  661. if not exist holidays.bat goto endit
  662. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  663. echo ║             READY TO EXECUTE HOLIDAYS.BAT ... DEMO BATCH FILE               ║
  664. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  665. pause
  666. HOLIDAYS.BAT
  667. :ENDIT
  668.